In recent years the number and variety of the applications supported by digital devices has significantly increased. In addition to the need of customers for new stimulating applications, operators and service providers share a strong desire that customers will exploit the applications provided to them. The profit of operators and service providers is directly proportional to the frequency of using their applications. Thus, a drop in usage generally results in a drop in profits.
The quality of an application is often determined by the customer's use of it. Typically, the quality of an application is evaluated in terms of how well it is designed, if it is free of defects, and how long-lasting it remains in use by customers. While these are critical components for the evaluation of quality, it is important to realize that if a customer considers a product as difficult to use or not “friendly”, he will most likely not use it enough to find out how well it is designed, or to explore all the options that it provides. A term which is often used to describe the quality of a product from the user's perspective, particularly with respect to computer products, is the term “user friendly”.
When the user invokes an application on a digital device, he usually has a task in mind that he wishes to complete—for example, sending an Instant Message or adding a contact to the phone contact list. In order to perform such tasks, the user interactively goes through a series of screens until the task is completed. Every screen consists of elements—some of which are Screen Input Elements (SIE) which are used for data input and advancing the user to other screens, while others are Screen Elements (SE) which are presented on the screen (i.e. without input). The entire group of elements presented on the user's device is referred to hereinafter as User Interface Elements (UIE).
Service providers are interested in realizing their customers' activities for providing better services to existing applications and for developing new applications that better fit their customers' needs. Generally, a Task Model (TM) is a logical description of all the UIE, namely, all the screens that may be presented to the user, and all the activities that may be performed by users of interactive applications who are wishing to achieve certain goals. The TM serves as an infrastructure for understanding the application domain, supporting effective design and requirements' analysis of interactive applications, enabling usability evaluation and identifying task efficiency. In the more developed systems the TM supports the user in real time, namely, during his interaction with the system.
There are several conventional methods for generating TM for an application. PaternÒ (PaternÒ, F.: Model-Based Design and Evaluation of Interactive Applications, Springer Verlag, 1999) presents a TM specification notation which enables reusable task structures to be defined at both low and high semantic levels. Another tool that provides support for developing and analyzing task models for interactive system design presented by Mori, Paterno, and Santoro (Mori, G.; Paterno, F.; Santoro. C.: CTTE: Support for Developing and Analyzing Task Models for Interactive System Design, IEEE Transactions on Software Engineering, Vol. 28 (8), 2002). This tool supports the Unified Modeling Language (UML-which is a standardized modelling language that includes a set of graphical notation techniques to create visual models of software-intensive systems) design notation by representing elements and operators of a task model by an existing UML notation, developing automatic converters from UML to task models, and building a new UML for interactive systems.
However, the methods described above have not yet provided satisfactory solutions to problems typical to applications running on SMOB devices, Applications running on technologically advanced devices such as SMOB devices are generally complex applications with diverse usage patterns that require low and high level definitions that the former TM methods could not provide. Former TM methods have some inheritance capabilities, but they are lacking partial inheritance and inheritance in different layers of the TM, which TM for complex applications, such as for the SMOB requires. Those TM further require the option of partial inheritance. Another disadvantage of the methods described above is the inability to match the TM with the actual, real-time user-system interaction. Those TM's have no mechanism for recording the physical presentation of the applications, and therefore, can not match it to the TM generated.
It is therefore an object of the present invention to provide a method and apparatus for modeling, tracking and analyzing interactive applications for smart mobile (SMOB) devices.
It is an object of the present invention to provide a system and method for modeling mobile applications by a human modeler.
It is an object of the present invention to provide a method for monitoring and collecting data from currently visible running applications.
It is another object of the present invention to provide a method for collecting and transferring data at a minimal communication load.
It is yet another object of the present invention to provide a method and system for service providers to realize their customers' activities.
It is an object of the present invention to provide a method and system for identifying user intentions and usability problems while performing tasks in interactive software application.
It is yet another object of the present invention to provide an easy maintenance of the TM, considering future modeling of applications, versions and platforms.
It is yet another object of the present invention to provide a method for improving the services provided to users by simplifying their interactions with the system.
Other objects and advantages of the invention will become apparent as the description proceeds.